package com.example.decodertest.view.decoder

import android.media.MediaFormat

interface IDecoder: Runnable {

    /**
     * 暂停解码
     */
    fun pause()

    /**
     * 继续解码
     */
    fun goOn()

    /**
     * 停止解码
     */
    fun stop()

    /**
     * 是否正在解码
     */
    fun isDecoding(): Boolean

    /**
     * 是否正在快进
     */
    fun isSeeking(): Boolean

    /**
     * 是否停止解码
     */
    fun isStop(): Boolean

    /**
     * 设置解码状态监听器
     */
    fun setStateListenter(l: IDecoderStateListenter?)

    /**
     * 获取视频宽
     */
    fun getWdith(): Int

    /**
     * 获取视频高
     */
    fun getHeight(): Int

    /**
     * 获取视频长度
     */
    fun getDuration(): Long

    /**
     * 获取视频旋转角度
     */
    fun getRotationAngle(): Int

    /**
     * 获取视频格式
     */
    fun getMediaFormat(): MediaFormat?

    /**
     * 获取音视频轨道
     */
    fun getTrack(): Int

    /**
     * 获取文件路径
     */
    fun getFilePath(): String

}